﻿using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using PMS.SANY.Models;

namespace PMS.SANY.OpenApi
{
    //public static class JwtExtentions
    //{
    //    public static IServiceCollection AddJWT(this IServiceCollection services, IConfiguration config)
    //    {
    //        services.Configure<JwtOptions>(config.GetSection("JwtAuth"));
    //        var jwtOption = config.GetSection("JwtAuth").Get<JwtOptions>();
    //        services.AddAuthentication(options =>
    //        {
    //            options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
    //            options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
    //        }).AddJwtBearer(options =>
    //        {
    //            options.RequireHttpsMetadata = false;
    //            options.SaveToken = false;
    //            options.TokenValidationParameters = new TokenValidationParameters
    //            {
    //                ClockSkew = TimeSpan.Zero,
    //                ValidateIssuerSigningKey = true,
    //                IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtOption.Secret)),
    //                ValidateIssuer = false,
    //                ValidateAudience = false
    //            };
    //        });
    //        return services;
    //    }
    //}
}
